home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / ras_api / rasform.pas < prev    next >
Pascal/Delphi Source File  |  1995-12-22  |  4KB  |  155 lines

  1. unit Rasform;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Buttons, RASComp, RAS_API;
  8.  
  9. type
  10.   TRASConnect = class(TForm)
  11.     ConnectBtn: TBitBtn;
  12.     Memo1: TMemo;
  13.     StatusBtn: TBitBtn;
  14.     DisconnectBtn: TBitBtn;
  15.     PhoneBox: TComboBox;
  16.     ConnectionBox: TComboBox;
  17.     RAS1: TRAS;
  18.     procedure ConnectBtnClick(Sender: TObject);
  19.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  20.     procedure StatusBtnClick(Sender: TObject);
  21.     procedure DisconnectBtnClick(Sender: TObject);
  22.     procedure PhoneBoxExit(Sender: TObject);
  23.     procedure FormActivate(Sender: TObject);
  24.     procedure RAS1Connect(Sender: TObject);
  25.     procedure RAS1Disconnect(Sender: TObject);
  26.   private
  27.     { Private declarations }
  28.     function Connect: LongInt;
  29.     function GetErrorString(ErrorCode: LongInt): String;
  30.     function Disconnect: LongInt;
  31.     function GetConnectStatus: LongInt;
  32.     function GetConnections: LongInt;
  33.     function GetPhoneBookEntries: LongInt;
  34.     function CurrentStatus: String;
  35.   public
  36.     { Public declarations }
  37.   end;
  38.  
  39. var
  40.   RASConnect: TRASConnect;
  41.  
  42. implementation
  43.  
  44. {$R *.DFM}
  45.  
  46. procedure TRASConnect.ConnectBtnClick(Sender: TObject);
  47. begin
  48.   RAS1.EntryName := PhoneBox.Text;
  49.   Connect;
  50. end;
  51.  
  52. function TRASConnect.Connect: LongInt;
  53. begin
  54.   RAS1.Connect;
  55.   If RAS1.LastError = 0 THEN
  56.      Memo1.Lines.Add('RAS Handle:  ' + IntToStr(RAS1.RASConn));
  57. end;
  58.  
  59. function TRASConnect.GetErrorString(ErrorCode: LongInt): String;
  60. begin
  61.   Result := RAS1.GetErrorString(ErrorCode);
  62. end;
  63.  
  64. function TRASConnect.Disconnect: LongInt;
  65. begin
  66.   Screen.Cursor := crHourglass;
  67.   Result := RAS1.Disconnect;
  68.   Memo1.Lines.Add('Disconnected:  ' + IntToStr(Result));
  69.   Screen.Cursor := crDefault;
  70. end;
  71.  
  72. function TRASConnect.GetConnectStatus: LongInt;
  73. begin
  74.   Result := RAS1.GetConnectStatus;
  75. end;
  76.  
  77. function TRASConnect.GetConnections: LongInt;
  78. var
  79.   I: Integer;
  80. begin
  81.   ConnectionBox.Items.Clear;
  82.   ConnectionBox.Text := '';
  83.   Result := RAS1.GetConnections;
  84.   If Result = Success THEN
  85.      If RAS1.Connections.Count > 0 THEN
  86.         For I := 0 To RAS1.Connections.Count - 1 DO
  87.             ConnectionBox.Items.Add(RAS1.Connections.EntryName(I));
  88. end;
  89.  
  90. function TRASConnect.GetPhoneBookEntries;
  91. var
  92.   I: Integer;
  93. begin
  94.   Result := RAS1.GetPhoneBookEntries;
  95.   PhoneBox.Items.Clear;
  96.   PhoneBox.Text := '';
  97.   If Result = 0 THEN
  98.      If RAS1.PhoneBookEntries.Count > 0 THEN
  99.         For I := 0 To RAS1.PhoneBookEntries.Count - 1 DO
  100.             PhoneBox.Items.Add(RAS1.PhoneBookEntries.Strings[I]);
  101. end;
  102.  
  103. function TRASConnect.CurrentStatus: String;
  104. begin
  105.   Result := RAS1.CurrentStatus;
  106.   If Result <> '' THEN
  107.      Memo1.Lines.Add(Result);
  108. end;
  109.  
  110. procedure TRASConnect.FormClose(Sender: TObject; var Action: TCloseAction);
  111. begin
  112.   RAS1.Disconnect;
  113. end;
  114.  
  115. procedure TRASConnect.StatusBtnClick(Sender: TObject);
  116. begin
  117.   RAS1.CurrentStatus;
  118.   RAS1.GetConnections;
  119. end;
  120.  
  121. procedure TRASConnect.DisconnectBtnClick(Sender: TObject);
  122. begin
  123.   Disconnect;
  124. end;
  125.  
  126.  
  127. procedure TRASConnect.PhoneBoxExit(Sender: TObject);
  128. begin
  129.   RAS1.EntryName := '';
  130.   RAS1.PhoneNumber := '';
  131.   If PhoneBox.Text[1] In ['0'..'9'] THEN
  132.      RAS1.PhoneNumber := PhoneBox.Text
  133.   ELSE
  134.      RAS1.EntryName := PhoneBox.Text;
  135. end;
  136.  
  137. procedure TRASConnect.FormActivate(Sender: TObject);
  138. begin
  139.   GetConnections;
  140.   GetPhoneBookEntries;
  141. end;
  142.  
  143. procedure TRASConnect.RAS1Connect(Sender: TObject);
  144. begin
  145.   ShowMessage('Connected!');
  146. end;
  147.  
  148. procedure TRASConnect.RAS1Disconnect(Sender: TObject);
  149. begin
  150.   ShowMessage('Disconnected');
  151. end;
  152.  
  153. end.
  154.  
  155.